package edu.nepu.flink.api.state;

/**
 * @Date 2024/3/3 8:52
 * @Created by chenshuaijun
 */
public class StateOverview {

    public static void main(String[] args) {
        /**
         * 什么是flink的状态：
         *      flink中的无状态指的是，算子只需要观察每个独立的事件，而不依赖其他的数据
         *      flink中的有状态是指，一个算子在计算的时候需要依赖于其它的数据，这个其它的数据就是状态
         * Flink中的状态分类：
         *      1、托管状态
         *          1.1 算子状态
         *              ListState：当并行度改变的时候，会将之前的状态进行轮询
         *              UnionListState：和ListState的主要区别是，当并行度改变的时候，可以每个并行度可以访问到所有的状态
         *              BroadcastState --> 这个状态比较的特殊，只有广播流能对广播状态中的数据进行修改，主流只能进行度
         *          1.2 键控状态
         *              ValueState
         *              ListState
         *              MapState
         *              ReducingState
         *              AggregateState
         *      2、自定义状态
         *         一般是用不到
         * 注意事项：状态的初始化需要再生命周期的Open方法中进行
         */

    }
}
